package com.transaction.demo.trade.vo.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 描述：支付订单表
 * 作者：马庆智
 * 日期：2023/04/27 17:22:10
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("支付订单表请求listVo")
public class TradePaymentOrderListReqVo implements Serializable {

	@ApiModelProperty("当前页")
	@NotNull(message = "current当前页不能为空")
	@Min(value = 1, message = "current当前页不能小于1")
	private int current;

	@ApiModelProperty("每页的数量")
	@NotNull(message = "pageSize每页的数量不能为空")
	private int pageSize;

	@ApiModelProperty("状态(参考枚举:orderstatusenum)")
	//@NotBlank(message = "status状态(参考枚举:orderstatusenum)不能为空")
	private String status;

	@ApiModelProperty("商品名称")
	//@NotBlank(message = "productName商品名称不能为空")
	private String productName;

	@ApiModelProperty("商户订单号")
	//@NotBlank(message = "merchantOrderNo商户订单号不能为空")
	private String merchantOrderNo;

	@ApiModelProperty("订单金额")
	//@NotBlank(message = "orderAmount订单金额不能为空")
	private String orderAmount;

	@ApiModelProperty("订单来源")
	//@NotBlank(message = "orderFrom订单来源不能为空")
	private String orderFrom;

	@ApiModelProperty("商家名称")
	//@NotBlank(message = "merchantName商家名称不能为空")
	private String merchantName;

	@ApiModelProperty("商户编号")
	//@NotBlank(message = "merchantNo商户编号不能为空")
	private String merchantNo;

	@ApiModelProperty("下单时间")
	//@NotBlank(message = "orderTime下单时间不能为空")
	private Date orderTime;

	@ApiModelProperty("下单日期")
	//@NotBlank(message = "orderDate下单日期不能为空")
	private String orderDate;

	@ApiModelProperty("订单撤销原因")
	//@NotBlank(message = "cancelReason订单撤销原因不能为空")
	private String cancelReason;

	@ApiModelProperty("订单有效期(单位分钟)")
	//@NotBlank(message = "orderPeriod订单有效期(单位分钟)不能为空")
	private short orderPeriod;

	@ApiModelProperty("支付方式编号")
	//@NotBlank(message = "payWayCode支付方式编号不能为空")
	private String payWayCode;

	@ApiModelProperty("支付方式名称")
	//@NotBlank(message = "payWayName支付方式名称不能为空")
	private String payWayName;

	@ApiModelProperty("交易业务类型  ：消费、充值等")
	//@NotBlank(message = "trxType交易业务类型  ：消费、充值等不能为空")
	private String trxType;

	@ApiModelProperty("支付流水号")
	//@NotBlank(message = "trxNo支付流水号不能为空")
	private String trxNo;

	@ApiModelProperty("支付类型编号")
	//@NotBlank(message = "payTypeCode支付类型编号不能为空")
	private String payTypeCode;

	@ApiModelProperty("支付类型名称")
	//@NotBlank(message = "payTypeName支付类型名称不能为空")
	private String payTypeName;

	@ApiModelProperty("资金流入类型")
	//@NotBlank(message = "fundIntoType资金流入类型不能为空")
	private String fundIntoType;

}